#ifndef __LOGO_INT_EXPR__
#define __LOGO_INT_EXPR__

#include "interpret.h"

/* return 0 on success, if error happens, it return non-zero value.*/
int calc_expr (rte_t* ret, tree_node_t* expr, value_t* result);
int id_expr (rte_t* rte, tree_node_t* expr, value_t* result);
int string_expr (tree_node_t* expr, value_t* result);
int op_expr (rte_t* rte, tree_node_t* expr, value_t* result);
int compare_value_type (value_t* v1, value_t* v2, int line_no);
int compare_value (value_t* v1, value_t* v2);
int routine_expr (rte_t* rte, tree_node_t* expr, value_t* result);
int count_paras (tree_node_t* t);
variable_t* create_variable (rte_t* ret, tree_node_t* id_expr);

#endif /* __LOGO_INT_EXPR__*/
